From: Ian Campbell Date: Fri, 3 Sep 2010 17:41:37 +0000 (+0100) Subject: libxc: logger: add newline when progress is complete X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~11538 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=87de0ad2c8062da242fb51a23e70375c1d9624be;p=xen.git libxc: logger: add newline when progress is complete In xc_domain_save ensure that we signal completion at the end of each batch. This ensures that the next logged line starts on a new line. e.g. instead of: Savefile contains xl domain config xc: Saving memory: iter 3 (last sent 0 skipped 0): 0/32768 0%migration target: Transfer complete, requesting permission to start domain. migration sender: Target has acknowledged transfer. what is desired is: Savefile contains xl domain config xc: Saving memory: iter 0 (last sent 0 skipped 0): 32768/32768 100% xc: Saving memory: iter 1 (last sent 32576 skipped 192): 32768/32768 100% xc: Saving memory: iter 2 (last sent 217 skipped 0): 32768/32768 100% xc: Saving memory: iter 3 (last sent 0 skipped 0): 32768/32768 100% migration target: Transfer complete, requesting permission to start domain. migration sender: Target has acknowledged transfer. Signed-off-by: Ian Campbell Signed-off-by: Ian Jackson --- diff --git a/tools/libxc/xc_domain_save.c b/tools/libxc/xc_domain_save.c index b9273bb3ae..ef33fa1134 100644 --- a/tools/libxc/xc_domain_save.c +++ b/tools/libxc/xc_domain_save.c @@ -1461,6 +1461,8 @@ int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iter skip: + xc_report_progress_step(xch, dinfo->p2m_size, dinfo->p2m_size); + total_sent += sent_this_iter; if ( last_iter ) diff --git a/tools/libxc/xtl_logger_stdio.c b/tools/libxc/xtl_logger_stdio.c index de0935ac47..3edf0a2fd7 100644 --- a/tools/libxc/xtl_logger_stdio.c +++ b/tools/libxc/xtl_logger_stdio.c @@ -108,9 +108,12 @@ static void stdiostream_progress(struct xentoollog_logger *logger_in, if (lg->progress_erase_len) putc('\r', lg->f); - newpel = fprintf(lg->f, "%s%s" "%s: %lu/%lu %3d%%", + lg->progress_last_percent = percent; + + newpel = fprintf(lg->f, "%s%s" "%s: %lu/%lu %3d%%%s", context?context:"", context?": ":"", - doing_what, done, total, percent); + doing_what, done, total, percent, + done == total ? "\n" : ""); extra_erase = lg->progress_erase_len - newpel; if (extra_erase > 0)